Software stabilitymeans the resistance to theamplification of changes in software. It has become one of themost important attributes\nthat affect maintenance cost. To control the maintenance cost, many approaches have been proposed to measure software stability.\nHowever, it is still a very difficult task to evaluate the software stability especially when software becomes very large and complex.\nIn this paper, we propose to characterize software stability via change propagation simulation. First, we propose a class coupling\nnetwork (CCN) to model software structure at the class level.Then, we analyze the change propagation process in the CCNby using\na simulation way, and by doing so, we develop a novel metric, SS (software stability), to measure software stability. Our SS metric\nis validated theoretically using the widely accepted Weyukerâ??s properties and empirically using a set of open source Java software\nsystems. The theoretical results show that our SS metric satisfies most of Weyukerâ??s properties with only two exceptions, and the\nempirical results show that our metric is an effective indicator for software quality improvement and class importance. Empirical\nresults also show that our approach has the ability to be applied to large software systems.
Loading....